Method and apparatus for testing an optical network

ABSTRACT

For testing an optical network, a transmission module transmits a first optical power level on a first optical port of an optical assembly. The optical assembly includes the first optical port, one or more of an optical cable and an optical waveguide, and a second optical port. The optical assembly is installed in an assembled computer in a state suitable for an end user. A measurement module measures a second optical power level on the second optical port, and a determination module determines a quality level by determining if the second optical power level is below a quality threshold value. The transmission module, the measurement module, and the determination module function within an assembled computer in a state suitable for an end user.

BACKGROUND

1. Field

The subject matter disclosed herein relates to testing an opticalnetwork and more particularly relates to verifying continuity anddetermining the connection quality of optical assemblies.

2. Description of the Related Art

High performance computers, or supercomputers, often contain opticalnetworks to communicate between processor nodes in the computerassembly. It is desirous to quickly manufacture such computers with highreliability. Optical networks need to be efficiently tested and verifiedbefore such a computer assembly may be delivered to an end user. Opticalnetworks may be very complicated and may require a concise and automatedtesting procedure. Testing an optical network is typically done bytransmitting and receiving a variety of digital patterns on the opticalnetwork, or otherwise exercising the optical network digitally. Failuresare typically identified when received patterns differ from transmittedpatterns, or transmitted patterns are not received at all.

BRIEF SUMMARY

An apparatus is disclosed that includes a transmission module thattransmits a first optical power level on a first optical port of anoptical assembly. The optical assembly includes the first optical port,an optical cable and/or an optical waveguide, and a second optical port.The optical assembly is installed in an assembled computer and theassembled computer is in a state suitable for an end user. The apparatusincludes a measurement module that measures a second optical power levelat the second optical port, and a determination module that determines aquality level by determining if the second optical power level is belowa quality threshold value. The transmission module, the measurementmodule, and the determination module function within the assembledcomputer.

In one embodiment, the transmission module transmits on a plurality ofoptical assemblies, the measurement module measures a plurality ofsecond optical power levels on the plurality of optical assemblies, andthe determination module determines a plurality of quality levels bydetermining a quality level of each optical assembly. In anotherembodiment, the apparatus includes a connection block, where a pluralityof optical assemblies terminates at one or more connection blocks. In afurther embodiment, the determination module determines a connectionstate of a connection block based on a fail pattern of the plurality ofquality levels of the optical assemblies terminating at the connectionblock. In another embodiment, the determination module determines theplurality of quality levels based on one or more pre-determinedthreshold ranges, where each pre-determined threshold range includes aquality threshold value.

In one embodiment, that apparatus includes a display module thatdisplays the plurality of quality levels. In another embodiment, thedisplay module displays the plurality of quality levels in an array,where respective quality levels are displayed in an element of thearray. In another embodiment, each element of the array includes aquality level of a plurality of possible quality levels. In anotherembodiment, the display module displays the plurality of quality levelsvia a bitmap. In another embodiment, the display module displays theplurality of quality levels for a plurality of connection blocks. Eachconnection block includes a plurality of optical assemblies terminatingat the connection block.

In one embodiment, the plurality of optical assembles comprises anoptical backplane. In a further embodiment, the assembled computerincludes a plurality of optical backplanes. In another embodiment, themeasurement module measures the second optical power level at the secondoptical port as an analog measurement.

Also a method for testing an optical network is disclosed. The methodincludes transmitting a first optical power level on a first opticalport of an optical assembly, where the optical assembly includes thefirst optical port, an optical cable and/or an optical waveguide, and asecond optical port. The optical assembly is installed in an assembledcomputer and the assembled computer is in a state suitable for an enduser. The method includes measuring a second optical power level at thesecond optical port and determining a quality level by determining ifthe second optical power level is below a quality threshold value. Thetransmitting, the measuring, and the determining occur within theassembled computer. An apparatus and computer program product alsoperform the functions of the method.

In one embodiment, transmitting a first optical power level includestransmitting on a plurality of optical assemblies, measuring a secondoptical power level includes measuring a plurality of second opticalpower levels on the plurality of optical assemblies, and determining aquality level includes determining a plurality of quality levels bydetermining a quality level of each optical assembly. In anotherembodiment, the plurality of optical assemblies terminates at one ormore connection blocks. In another embodiment, determining a pluralityof quality levels determines a connection state of a connection blockbased on a fail pattern of the plurality of quality levels of theoptical assemblies terminating at the connection block.

In addition, another apparatus for testing an optical network isdisclosed. The apparatus includes a transmission module that transmits aplurality of first optical power levels on a first optical port of aplurality of optical assemblies where each optical assembly includes thefirst optical port, an optical cable and/or an optical waveguide, and asecond optical port. The optical assemblies terminate at one or moreconnection blocks. The connection blocks are part of one or more opticalbackplanes. The transmission module is installed in an assembledcomputer and the assembled computer is in a state suitable for an enduser. The apparatus includes a measurement module that measures aplurality of second optical power levels on the second optical ports ofthe plurality of optical assemblies and a determination module thatdetermines a plurality of quality levels based on the plurality ofsecond optical power levels by determining if each of the plurality ofsecond optical power levels fall below a pre-determined qualitythreshold range. The apparatus includes a display module that displays aconnection quality by displaying the plurality of quality levels and theplurality of quality levels are displayed in an array. The transmissionmodule, the measurement module, the determination module, and thedisplay module function within the assembled computer.

A system for testing an optical network is disclosed. The systemincludes an optical assembly with a first optical port, an optical cableand/or an optical waveguide, and a second optical port. The systemincludes an assembled computer that includes the optical assembly. Theassembled computer is in a state suitable for an end user. The systemincludes a transmission module that transmits a first optical powerlevel on the optical assembly, a measurement module that measures asecond optical power level on the optical assembly and a determinationmodule that determines a quality level by determining if the secondoptical power level is below a quality threshold value, the opticalassembly. The transmission module, the measurement module, and thedetermination module function within the assembled computer.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the embodiments of the invention will bereadily understood, a more particular description of the embodimentsbriefly described above will be rendered by reference to specificembodiments that are illustrated in the appended drawings. Understandingthat these drawings depict only some embodiments and are not thereforeto be considered to be limiting of scope, the embodiments will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings, in which:

FIG. 1 is a schematic block diagram illustrating one embodiment of asystem for testing an optical network in accordance with the presentdisclosure;

FIG. 2 is a schematic block diagram illustrating one embodiment of anapparatus for testing an optical network in accordance with the presentdisclosure;

FIG. 3 is a schematic block diagram illustrating an assembled computerincluding one embodiment of an apparatus for testing an optical networkin accordance with the present disclosure;

FIG. 4 is a schematic flow chart diagram illustrating one embodiment ofa method for testing an optical assembly in accordance with the presentdisclosure;

FIG. 5 is a schematic flow chart diagram illustrating another embodimentof a method for testing an optical network in accordance with thepresent disclosure;

FIG. 6 is a schematic flow chart diagram illustrating yet anotherembodiment of a method for correcting a connection state of an opticalnetwork in accordance with the present disclosure;

FIG. 7 is an image illustrating one embodiment of text display inaccordance with the present disclosure;

FIG. 8 is an image illustrating one embodiment of a graphical displaydisplaying connection qualities of optical assemblies in accordance withthe present disclosure; and

FIG. 9 is an image illustrating one embodiment of a graphical displaydisplaying a grid of connection states in accordance with the presentdisclosure.

DETAILED DESCRIPTION OF THE INVENTION

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment. Thus, appearances of the phrases“in one embodiment,” “in an embodiment,” and similar language throughoutthis specification may, but do not necessarily, all refer to the sameembodiment, but mean “one or more but not all embodiments” unlessexpressly specified otherwise. The terms “including,” “comprising,”“having,” and variations thereof mean “including but not limited to”unless expressly specified otherwise. An enumerated listing of itemsdoes not imply that any or all of the items are mutually exclusiveand/or mutually inclusive, unless expressly specified otherwise. Theterms “a,” “an,” and “the” also refer to “one or more” unless expresslyspecified otherwise.

Furthermore, the described features, advantages, and characteristics ofthe embodiments may be combined in any suitable manner. One skilled inthe relevant art will recognize that the embodiments may be practicedwithout one or more of the specific features or advantages of aparticular embodiment. In other instances, additional features andadvantages may be recognized in certain embodiments that may not bepresent in all embodiments.

These features and advantages of the embodiments will become more fullyapparent from the following description and appended claims, or may belearned by the practice of embodiments as set forth hereinafter. As willbe appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method, and/or computer programproduct. Accordingly, aspects of the present disclosure may take theform of an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module,” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having program code embodied thereon.

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of program code may, forinstance, comprise one or more physical or logical blocks of computerinstructions which may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve a stated purpose forthe module.

Indeed, a module of program code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, and across several memory devices.Similarly, operational data may be identified and illustrated hereinwithin modules, and may be embodied in any suitable form and organizedwithin any suitable type of data structure. The operational data may becollected as a single data set, or may be distributed over differentlocations including over different storage devices, and may exist, atleast partially, merely as electronic signals on a system or network.Where a module or portions of a module are implemented in software, theprogram code may be stored and/or propagated on in one or more computerreadable medium(s).

The computer readable medium may be a tangible computer readable storagemedium storing the program code. The computer readable storage mediummay be, for example, but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, holographic, micromechanical, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing.

More specific examples of the computer readable storage medium mayinclude but are not limited to a portable computer diskette, a harddisk, a random access memory (RAM), a read-only memory (ROM), anerasable programmable read-only memory (EPROM or Flash memory), aportable compact disc read-only memory (CD-ROM), a digital versatiledisc (DVD), an optical storage device, a magnetic storage device, aholographic storage medium, a micromechanical storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain, and/or store program code for use by and/or in connection withan instruction execution system, apparatus, or device, for example.

The computer readable medium may also be a computer readable signalmedium. A computer readable signal medium may include a propagated datasignal with program code embodied therein, for example, in baseband oras part of a carrier wave. Such a propagated signal may take any of avariety of forms, including, but not limited to, electrical,electro-magnetic, magnetic, optical, or any suitable combinationthereof. A computer readable signal medium may be any computer readablemedium that is not a computer readable storage medium and that cancommunicate, propagate, or transport program code for use by or inconnection with an instruction execution system, apparatus, or device.Program code embodied on a computer readable signal medium may betransmitted using any appropriate medium, including but not limited towire-line, optical fiber, Radio Frequency (RF), or the like, or anysuitable combination of the foregoing.

In one embodiment, the computer readable medium may comprise acombination of one or more computer readable storage mediums and one ormore computer readable signal mediums. For example, program code may beboth propagated as an electro-magnetic signal through a fiber opticcable for execution by a processor and stored on RAM storage device forexecution by a processor.

Program code for carrying out operations for aspects of the presentdisclosure may be generated by any combination of one or moreprogramming language types, including, but not limited to any of thefollowing: machine languages, scripted languages, interpretivelanguages, compiled languages, concurrent languages, list-basedlanguages, object oriented languages, procedural languages, reflectivelanguages, visual languages, or other, or to be developed languagetypes, for example. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including, but not limited to a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

The computer program product may be shared, simultaneously servingmultiple customers in a flexible, automated fashion. The computerprogram product may be standardized, requiring little customizationand/or scalable, providing capacity on demand in a pay-as-you-go model.

The computer program product may be stored on a shared file systemaccessible by one or more servers. The computer program product may beexecuted via transactions that contain data and server processingrequests that use Central Processor Unit (CPU) units on the accessedserver. CPU units may be units of time such as minutes, seconds, hourson the central processor of the server. Additionally the accessed servermay make requests of other servers that require CPU units. CPU units arean example that represents but one measurement of use. Othermeasurements of use include but are not limited to network bandwidth,memory usage, storage usage, packet transfers, complete transactionsetc.

The computer program product may be integrated into a client, server andnetwork environment by providing for the computer program product tocoexist with applications, operating systems and network operatingsystems software and then installing the computer program product onclients and servers in the environment where the computer programproduct may function.

In one embodiment software is identified on clients and serversincluding a network operating system where the computer program productwill be deployed that are required by the computer program product orthat work in conjunction with the computer program product. Thisincludes a network operating system that is software that enhances abasic operating system by adding networking features.

In one embodiment, software applications and version numbers areidentified and compared to the list of software applications and versionnumbers that have been tested to work with the computer program product.Those software applications that are missing or that do not match thecorrect version will be upgraded with the correct version numbers.Program instructions that pass parameters from the computer programproduct to the software applications will be checked to ensure theparameter lists match the parameter lists required by the computerprogram product. Conversely parameters passed by the softwareapplications to the computer program product will be checked to ensurethe parameters match the parameters required by the computer programproduct. The client and server operating systems including the networkoperating systems will be identified and compared to the list ofoperating systems, version numbers and network software that have beentested to work with the computer program product. Those operatingsystems, version numbers and network software that do not match the listof tested operating systems and version numbers will be upgraded on theclients and servers to the required level.

In response to determining that the software where the computer programproduct is to be deployed, is at the correct version level that has beentested to work with the computer program product, the integration iscompleted by installing the computer program product on the clients andservers.

Furthermore, the described features, structures, or characteristics ofthe embodiments may be combined in any suitable manner. In the followingdescription, numerous specific details are provided, such as examples ofprogramming, software modules, user selections, network transactions,database queries, database structures, hardware modules, hardwarecircuits, hardware chips, etc., to provide a thorough understanding ofembodiments. One skilled in the relevant art will recognize, however,that embodiments may be practiced without one or more of the specificdetails, or with other methods, components, materials, and so forth. Inother instances, well-known structures, materials, or operations are notshown or described in detail to avoid obscuring aspects of anembodiment.

Aspects of the embodiments are described below with reference toschematic flowchart diagrams and/or schematic block diagrams of methods,apparatuses, systems, and computer program products according toembodiments of the invention. It will be understood that each block ofthe schematic flowchart diagrams and/or schematic block diagrams, andcombinations of blocks in the schematic flowchart diagrams and/orschematic block diagrams, can be implemented by program code. Theprogram code may be provided to a processor of a general purposecomputer, special purpose computer, sequencer, or other programmabledata processing apparatus to produce a machine, such that theinstructions, which execute via the processor of the computer or otherprogrammable data processing apparatus, create means for implementingthe functions/acts specified in the schematic flowchart diagrams and/orschematic block diagrams block or blocks.

The program code may also be stored in a computer readable medium thatcan direct a computer, other programmable data processing apparatus, orother devices to function in a particular manner, such that theinstructions stored in the computer readable medium produce an articleof manufacture including instructions which implement the function/actspecified in the schematic flowchart diagrams and/or schematic blockdiagrams block or blocks.

The program code may also be loaded onto a computer, other programmabledata processing apparatus, or other devices to cause a series ofoperational steps to be performed on the computer, other programmableapparatus or other devices to produce a computer implemented processsuch that the program code which executed on the computer or otherprogrammable apparatus provide processes for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The schematic flowchart diagrams and/or schematic block diagrams in theFigures illustrate the architecture, functionality, and operation ofpossible implementations of apparatuses, systems, methods and computerprogram products according to various embodiments of the presentinvention. In this regard, each block in the schematic flowchartdiagrams and/or schematic block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions of the program code for implementing the specified logicalfunction(s).

It should also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in theFigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in another order, depending upon the functionality involved.Other steps and methods may be conceived that are equivalent infunction, logic, or effect to one or more blocks, or portions thereof,of the illustrated figures.

Although various arrow types and line types may be employed in theflowchart and/or block diagrams, they are understood not to limit thescope of the corresponding embodiments. Indeed, some arrows or otherconnectors may be used to indicate only the logical flow of the depictedembodiment. For instance, an arrow may indicate a waiting or monitoringperiod of unspecified duration between enumerated steps of the depictedembodiment. It will also be noted that each block of the block diagramsand/or flowchart diagrams, and combinations of blocks in the blockdiagrams and/or flowchart diagrams, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and program code.

Testing an Optical Network

High performance computers, or super computers, often contain opticalnetworks to communicate between processor nodes in the computerassembly. It is desirous to quickly manufacture such computers with highreliability. Therefore, it is desirable that optical networks areefficiently tested and verified before such a computer assembly may bedelivered to an end user. Optical networks may be very complicated andmay require a concise and automated testing procedure. Optical networksmay require precise component alignment and clean interfaces to maximizeperformance. Testing an optical network digitally may not revealimperfections in mechanical state, component alignment, or cleanliness.Components may pass a digital test although interfaces may be dirty ormisaligned. In such scenarios, an optical network may prematurely fail,as compared to an optical network with superior component alignment andcleanliness.

Testing an optical network using analog power levels may more easilydiscover component alignment imperfections, dirty connections, or otherconditions that may negatively impact communications on the opticalnetwork. Transmitting an analog optical power level on a componentassembly, and then measuring small variations in a received opticalpower level may indicate undesirable conditions that may not be detectedusing a digital testing method.

Additionally, such a testing apparatus or method may display results ofan analog testing method. Because an optical network may be very complexand may comprise hundreds, or thousands, or more optical assemblies, anefficient display method may facilitate a testing operator quicklydetermining subtle deficiencies of a plurality of the optical assembliesof the optical network. The following embodiments disclose varioustesting apparatus and testing methods.

FIG. 1 depicts one embodiment of a system 100 for testing an opticalnetwork. The system 100 may include an optical testing apparatus 102,and an optical assembly 106 in an assembled computer 104. In thedepicted embodiment, the assembled computer 104 may communicate with anElectronic Display 110 via a computer network 108.

The optical testing apparatus 102, tests one or more optical assemblies106 and will be discussed in more detail with regard to the apparatus200 of FIG. 2. The assembled computer 104 may be a server, aworkstation, a super computer, a desktop computer, a laptop computer, atablet, a special purpose computer, or any other computer that includesoptical cables and/or an optical waveguides. In one embodiment, theassembled computer 104 is a standalone computer. In another embodiment,the assembled computer 104 is part of another device or assembly.

In one embodiment, the assembled computer 104 is in a state suitable foran end user. For example, the assembled computer 104 may be ready forshipment to a customer. The assembled computer 104 is configured withthe optical testing apparatus 104, in one embodiment, such that theassembled computer 104 may be tested without disconnecting the opticalassembly 106. In various prior art systems, optical assemblies aretested individually or are part of a larger assembly and aredisconnected prior to testing or are disconnected specifically fortesting. Other prior art optical testing systems test optical assembliesmerely by sending specific digital patterns and verifying that thatdigital pattern is receive at the other end. The optical testingapparatus 102, in one embodiment, advantageously uses an analog signalfor optical testing while the optical assembly 106 is in a final,assembled state. In one example, the assembled computer 104 with one ormore optical assemblies 106 may be called a complete system.

In one embodiment, the optical assembly 106 includes a first opticalport, an optical cable and/or an optical waveguide, and a second opticalport. The optical ports, in one example, are connected to a first and asecond end of an optical cable or optical waveguide, such that opticalsignals transmitted via first optical port may be received via secondoptical port. In another embodiment, optical signals may be transmittedvia the second optical port may be received via the first optical port.In another embodiment, the optical assembly 106 is bidirectional suchthat the first and second ports may each send and receive.

In one embodiment, two or more optical assemblies 106 terminate at aconnection block such that first and/or second ports are part of theconnection block. For example, several first ports may be part of afirst connection block and several second ports may be part of a secondconnection block. In another example, two or more connection blocks arepart of an optical backplane. In one embodiment, two optical assemblies106 that terminate on a particular optical backplane at one end of theoptical assemblies 106 may terminate on two separate optical backplaneson the other end of the optical assemblies 106. A connection block ormultiple connection blocks, in one embodiment, connect to a processornode the assembled computer 104. In another embodiment, one or moreconnection blocks plug into another device within the assembled computer104. One of skill in the art will recognize other configurations ofoptical assemblies 106 within connection blocks and optical backplanes.

A first port of a particular optical assembly 106 may be designated as areceive port or a transmit port, depending on configuration of theoptical assembly 106. Likewise, the second port of an optical assembly106 may be either a receive port or a transmit port. In an alternateembodiment, an optical assembly 106 is bidirectional such that data maybe sent or received at either the first port or the second port. For aparticular connection block, in one example, one optical assembly 106terminating at the connection block may be designated for transmittingdata while another optical assembly 106 may be designated for receivingdata. Testing methods may be different for transmitting and receivingoptical assemblies 106.

The system 100 includes, in one embodiment, a computer network 108. Thecomputer network 108, in one example, connects to a computer 110, whichmay also be connected to an electronic display 112. The computer may beused for testing, for receiving test data, for analyzing test data, etc.In another embodiment, the computer network 108 is connected directly tothe electronic display 112. The computer network 108 may be a local areanetwork (“LAN”), a wireless network, an optical network, the internet, acombination of networks, or other network known to those of skill in theart. The computer network 108 may include cables, routers, switches,servers, or other networking equipment. One of skill in the art willrecognize other computer network equipment.

The computer 110 may be a desktop computer, a laptop computer, aworkstation, a tablet, or other computing device. In one embodiment, theassembled computer 104 does not connect to a computer 110 and theassembled computer 104 performs optical testing internally. Theassembled computer 104, in one embodiment, connects directly to theelectronic display 112 for monitoring optical testing, displayingresults, etc. In another embodiment the assembled computer 104 storestest data for later analysis or sends test data to the computer 110 orother device.

FIG. 2 is a schematic block diagram illustrating one embodiment of anapparatus 200 for testing an optical network in accordance with thepresent disclosure. The apparatus 200 includes an optical testingapparatus 102 with a transmission module 202, a measurement module 204,and a determination module 206, which are described below.

The apparatus 200 includes a transmission module 202 that transmits afirst optical power level on a first optical port of an optical assembly106. As described above in relation to the system 100 of FIG. 1, theoptical assembly 106 includes the first optical port, an optical cableand/or an optical waveguide, and a second optical port and the opticalassembly 106 is installed in an assembled computer 104. The assembledcomputer 104 is in a state suitable for an end user.

In one embodiment, the transmission module 202 may transmit over aprocessor node or other hardware, circuits, etc. that enabletransmission of optical power levels from one optical port to another ofthe optical assembly 106. An optical power level may include a specificintensity or magnitude of a light based signal. The first optical powerlevel may be a particular intensity or magnitude of light.

In one embodiment, the transmission module 202 transmits a first opticalpower level over a plurality of optical assemblies 106. For example, thetransmission module 202 may transmit a first power level over multipleoptical power assemblies 202 terminating on one or more connectionblocks. In another embodiment, the transmission module 202 may transmita first power level over multiple optical power assemblies 202 of anoptical backplane. In addition to the transmission module 202transmitting a first optical power level, the optical assemblies 106installed in the assembled computer 104 are positioned for transmissionof data.

The optical testing apparatus 102 includes a measurement module 204 thatmeasures a second optical power level at the second optical port on theoptical assembly 106. In one embodiment, when the transmission module202 transmits the first optical power level on a plurality of opticalassemblies 106, the measurement module 204 may receive a second opticalpower level on multiple second optical ports of the optical assemblies106. In another embodiment, where the transmission module 202 transmitsthe first optical power level on a connection block, optical backplanes,etc., the measurement module 204 may measure a second optical powerlevel on corresponding connection blocks, optical backplanes, etc.

In one embodiment, the measurement module 204 measures one or moresecond optical power levels as analog measurements. Measuring the secondoptical power levels as analog measurements is advantageous because ananalog measurement can determine an amount of optical power on acontinuous scale. In the prior art where a digital pattern is sent andreceived, the received digital pattern may be at a signal strength thatis just above some level where the digital pattern could be read. Thussending and receiving a digital pattern may be barely functioning on oneoptical assembly 106 while the digital pattern may have a strong signalon another optical assembly 106 and both received digital signals maypass a qualification test. An analog measurement may be able to discernthat one optical power level is higher than another to make a finerdistinction of quality of the received optical power levels.

In another embodiment, the optical testing apparatus 102 includes adetermination module 206 that determines a quality level by determiningif the second optical power level is below a quality threshold value.The determination module 206 may determine the quality level based, atleast in part, on a measured second optical power level of an opticalassembly 106. In one embodiment, the measurement module 204 ordetermination module 206 may digitize the second optical power level.

In one embodiment, the transmission module 202 may transmit a firstoptical power level on the second optical port of the optical assembly106 and the measurement module 204 may measure a second optical powerassembly on the first optical port. For example, the transmission module202 may transmit the first optical power level on the first optical portand also on the second optical port.

Ports of the optical assembly 106 may be designated as either transmitor receive ports during operation of the optical testing apparatus 102.The determination module 206 may determine if the second optical powerlevel is below a quality threshold value. If second optical power levelfalls below a quality threshold value, the determination module 206 maydetermine that the quality level is poor. Alternatively if secondoptical power level is above a quality threshold value, thedetermination module 206 may determine that the quality level isacceptable. The determination module 206 may describe several differentquality levels including, but not limited to the following: nothing,poor, bad, low, acceptable, adequate, medium, good, high, very good,excellent, perfect, or other, for example. In another embodiment, thedetermination module 206 may determine a quality level according to anumerical value. Numerical value may represent units, or may be ascalar.

Quality threshold values may differ between transmit ports and receiveports. For example, a quality threshold level of “excellent” may be aminimum of 1056 microwatts for a transmit port, but may be 880microwatts for a receive port. A quality threshold level of “very good”may be a minimum of 720 microwatts for a transmit port, but may be 600microwatts for a receive port. A quality threshold level of “good” maybe 396 microwatts for a transmit port, but may be 330 microwatts for areceive port. A quality threshold level of “marginal” may be 162microwatts for a transmit port, but may be 135 microwatts for a receiveport. Measured second optical power levels that fall below 162microwatts for a transmit port may not meet any threshold level. In oneembodiment, measured second optical power levels that fall below 135microwatts for a receive port may not meet any threshold level.

Of course, one skilled in the art will recognize that other qualitythreshold levels may be possible, depending on the nature of the opticalassembly being tested, or the intensity or magnitude or the originallytransmitted optical power level. For example, threshold levels may bepercentages of the first transmitted power level or other. Also, qualitythreshold levels may change over time due to a variety of factors,including, but not limited to, enhanced technology, cleaner testingenvironments, more precise manufacturing, or other for example.

The transmission module 202 may transmit a first optical power level oneach of the more than one optical assemblies 106 and the measurementmodule 204 may measure an optical power level on each of the pluralityof optical assemblies 106. The determination module 206 may thendetermine a plurality of quality levels based, at least in part, on theplurality of measured optical power levels measured on the plurality ofoptical assemblies. In one embodiment, the plurality of opticalassemblies 106 include some that are designated for transmission of dataand others are designated for receiving data. The determination module206, in one embodiment, determines a quality level for the transmissionand receiver optical assemblies 106 and matches various qualitythreshold values with the different types of optical assemblies 106.

FIG. 3 is a schematic block diagram illustrating an assembled computer104 including one embodiment of an apparatus 300 for testing an opticalnetwork in accordance with the present disclosure. The apparatusincludes a transmission module 202, a measurement module 204, and adetermination module 206 which are substantially similar to thosedescribed above in relation to the apparatus 200 of FIG. 2. Theapparatus 300 also includes a display module 302 that displays themeasured second optical power level, or a determined quality level, orother, for example. The assembled computer 104 also depicts a pluralityof optical power assemblies 106 a-106 n terminating at connection blocks304 a, 304 b.

In one embodiment, the display module 302 may display a plurality ofquality levels, for example, in an array. In one embodiment, respectivequality levels may be displayed as elements of the array. Digitizedsecondary optical power level may be used in the array. The array may bebased on a text output, or may be based on a graphical output, such as abitmap, or the like. Where the display module 302 implements a textbased output, the output may include one character for each of theplurality of optical assemblies 106. Displayed character may representvarious predefined threshold levels, a pass/fail result, or other forexample. Where the display module 302 implements a graphical output,output may include a block of pixels or other graphical shape for eachof the determined quality levels. The graphical output may include achart where each second optical power level is a line or other shape onthe chart. Also, the display module 302 may implement any number ofcolors to help facilitate an adequate presentation of the plurality ofdetermined quality levels. Of course, one skilled in the art willrecognize that a wide variety of text based outputs or graphical outputsmay be generated that adequately display the plurality of determinedquality levels.

Where the display module 302 displays the quality levels in an array,the array may be divided to represent various groupings of opticalassemblies 106 a-106 n. For example, a grouping of optical assembliesmay represent a connection block (e.g. 304 a), a group of connectionblocks, etc. An array or portion of an array may also represent anoptical backplane. The array may have divisions and subdivisions. Thedisplay module 302 may also display an array of second optical powerlevels along with other information, such as identifiers for connectionblocks 304 a, 304 b, optical assemblies 106 a-106 n, locationinformation, etc. One of skill in the art will recognize other ways thatthe display module 302 may display second optical power levels.

FIG. 4 depicts one embodiment of a method 400 for testing an opticalnetwork. The method 400 begins and transmits 404 a first optical poweron an optical assembly 106. The optical assembly 106, in thisembodiment, may include a first optical port, an optical cable and/or anoptical waveguide, and a second optical port as previously discussed.Also, the optical assembly 106 may be installed in an assembled computer104. The assembled computer 104 may be in a state suitable for an enduser, and may not require additional hardware and/or softwaremodifications for the assembled computer 104 to perform a function for aconsumer. In one embodiment, the transmission module 202 transmits 404 afirst optical power level.

The method 400 measures 406 a second optical power level on the opticalassembly 106. The second optical power may be measured via a first, or asecond optical port of an optical assembly as previously discussed. Themeasurement module 204, in one embodiment, measures 406 the secondoptical power level. The method 400 determines 408 a quality level basedon the second power level 408, and the method 400 ends. In oneembodiment, the determination module 206 determines 408 the qualitylevel. If the second optical power level is below a quality thresholdvalue, then the quality level may be determined to not have met adesired quality level.

FIG. 5 is a schematic flow chart diagram illustrating another embodimentof a method 500 for testing an optical network in accordance with thepresent disclosure. The method 500 begins and determines 502 a list ofoptical assemblies 106 and transmits 504 a first optical power level onthe optical assemblies 106. In one embodiment, the method 500 measures506 a second optical power level on one of the plurality of opticalassemblies. The method 500 determines 508 a quality level of the opticalassembly 106. The quality level determines 508 the quality level based,at least in part, on the measured power level of the optical assembly106. The method 500 then determines 510 if there are more opticalassemblies 106 to measure. If the method 500 determines 510 that thereare more optical assemblies 106 to measure, the method 500 moves 512 tothe next one of the plurality of optical assemblies 106.

If the method 500 determines 510 that there are no more opticalassemblies to measure, the method 500 determines 514 a connection statebased, at least in part, on the plurality of determined quality levels.The connection state may be pass or fail, or other for example. Theconnection state may indicate failure in any number of states,including, but not limited to, mechanical damage, connector damage, badport, bad connector, dirty, or may suggest a reattachment of theconnector (also known as a “replug”), or other for example. The method500 displays 516 the connection state, and the method 500 ends. Theconnection state may be displayed via a text based output, or agraphical output as one skilled in the art will appreciate.

FIG. 6 depicts one embodiment of a method 600 for processing error databased on a test of an optical network. According to this embodiment, thedetermination module 206 determines a plurality of second optical powerlevels based on a plurality of optical assemblies 106 a-106 n aspreviously discussed. According to this embodiment, the plurality ofoptical assemblies 106 a-106 n connects to a connection block (e.g. 304a) with vertical columns and horizontal rows. In another embodiment, theplurality of optical assemblies 106 a-106 n connect to multipleconnection blocks at an end where the measurement module 204 measuresthe second optical power level and the determination module 206determines a quality level for the optical assemblies 106 a-106 nterminated at the multiple connection blocks.

The method 600 analyzes 602 the measured power levels of the pluralityof optical assemblies 106 a-106 n and determines if a measured secondoptical power levels of any of the optical assemblies 106 a-106 n fallsbelow a pre-defined quality threshold. This particular method 600 isapplicable to a situation where the determination module 206 determinesthat one or more optical assemblies 106 a-106 n are below a qualitythreshold value and the method 600 is useful to determine specificaction to take as a result. The display module 302 may display thesecond optical power levels for analysis. For example, the displaymodule 302 may display the second optical power levels in an array andeach measured second optical power level may be displayed with aparticular character, symbol, color, etc. corresponding to a particularquality threshold applicable to the measured optical assembly (e.g. 106a) and may depend on whether the optical assembly 106 a is fortransmission or reception of data. Additionally, the method 600 maycompare measured second optical power levels of a plurality of opticalassemblies 106 a-106 n with pre-defined fail patterns for a connectionblock 304 a, for a group of connection blocks, for an optical backplane,etc.

The method 600 determines 604 if a pattern of failed optical assemblies106 within a connection block (e.g. 304 a) includes consecutivehorizontal deficiencies in the connection block 304 a. If the method 600determines 604 that there is a pattern of failed optical assemblies 106in a horizontal row, the method may call out 606 mechanical damage, forexample, to the rear of a processor node. For example, the horizontalrow of failed optical assemblies 106 may span multiple connectors sothat a horizontal row of failed optical assemblies 106 may be indicativeof damage to the rear of the processor node that causes a horizontal rowof optical ports to not be properly seated. The method 600 may return todetermine 608 if there are consecutive vertical deficiencies in theconnection block 304 a. If the method 600 determines 604 that there isnot a pattern of failed optical assemblies 106 a-106 n, the method 600may also determine 608 if there are consecutive vertical deficiencies inthe connection block 304 a.

If the method 600 determines 608 that there is a vertical fail patternof optical assemblies 106, for example within a connection block 304 a,the method 600 may call out connector damage 610. A vertical failpattern may be indicative of connector block damage rather thanmechanical damage to the back of a processor node. For both cases wherethe method determines 608 that there is a vertical fail pattern or not,the method 600 moves on to determine 612 if there is a fail pattern withmultiple deficiencies within a single connection block 304, for examplemultiple deficiencies that may be scattered or maybe not in a particularhorizontal or vertical pattern discussed above. If the method 600determines 612 that there are multiple deficiencies within a connectionblock 304, the method 600 may call out 614 a bad connection block 304.Note that the method 600 may also determine 612 that multiple connectionblocks 304 include multiple deficiencies and may call out 614 a badconnection block 304 for each of the connection blocks 304 withdeficiencies.

For both cases where the method determines 612 that there are multipledeficiencies within a connection block 304 or not, the method 600 moveson to determine 616 if a fail pattern includes multiple disjointdeficiencies (i.e. deficiencies that may not be associated with aspecific contiguous set of optical assemblies 106). If the method 600determines that there are multiple disjoint deficiencies, the method 600may call 618 out a cleaning procedure 618 for an entire connection block304, group of connection blocks, etc. that are being tested anddisplayed. For example, multiple disjoint deficiencies may be indicativeof dust particles or dirt interfering with a connection of the group ofoptical assemblies 106 being tested. Otherwise, if the method 600determines that the error condition does not match any of a set ofpre-defined fail patterns or conditions, the method 600 may call out 620a cable re-plug, and the method 600 ends.

The method 600 is merely one particular set of potential diagnoses of afew potential problems based on a few identified patterns. Otherpatterns may also be analyzed which may include other correctiveprocedures. In one embodiment, when the corrective procedures called outby the method 600 are completed, the methods 400, 500 may be repeatedand if optical assemblies are determined to be deficient, the method 600of FIG. 6 may be repeated. Note that where several quality values areset for a particular group of optical assemblies 106 under test,patterns may indicate a problem to be corrected even where theindividual levels may be above an acceptable quality level. For example,where the method 600 determines 604 that there is a row of horizontaldeficiencies, some of the measured second optical power levels in thehorizontal pattern may be higher than others and some may be above aminimum acceptable quality level value, but may be below a higherdetermined quality level associated with surrounding optical assemblies106 so that one of skill in the art may determine that the patternrequires corrective action. By taking analog measurements of opticalpower levels, the embodiments described above may allow identificationof connection problems of optical assemblies 106 that might nototherwise be detected with currently available testing techniques. Oneskilled in the art will recognize that many other patterns may be usedto indicate a variety of different fail conditions based, at least inpart, but not limited to, hardware configuration, softwareconfiguration, connection block configurations, testing environment, orother, for example.

FIG. 7 depicts an embodiment of a text-based display 700 in accordancewith the present disclosure. The display 700 may be generated by thedisplay module 302, or other display means for example, and may depict aplurality of quality levels based, at least in part, on a plurality ofmeasured second optical power levels as previously discussed. Thedisplay 700 may output text characters for respective optical assemblies106, wherein different characters may represent different determinedquality levels. For example, an “*” may represent an “excellent” qualitylevel, a “+” may represent a “very good” quality level, a “.” mayrepresent a “good” quality level, an “m” may represent a “high marginal”quality level, an “x” may represent a “low marginal” quality level, andan “X” may represent a “bad” quality level. Of course, one skilled inthe art will recognize that the indicated representative characters areonly one example of what may be used to represent a set of qualitylevels. Additionally, many more, or less, discrete quality levels may bespecified with associated characters for representation.

The display 700 may output multiple columns, the first of which may be acolumn 702 identifying optical ports associated with a set of theplurality of determined quality levels. The display 700 may output asecond column 704 that may output a set of characters that may representquality levels of respective optical ports of optical assemblies beingtested, as previously discussed. The display 700 may also indicateoptical ports, or optical assemblies 106 that may require attention. Forexample, the display 700 may indicate a series of horizontal opticalports that did not meet a pre-defined threshold level, such as, an“excellent” threshold as previously indicated. In this embodiment,several horizontal optical ports 706 only meet the “very good”threshold, which may suggest to an operator of the optical testingapparatus 102 that mechanical damage may be present in the connectionblocks 304 for the associated optical ports. Also, the display 700 mayindicate 708 a single optical port, or optical assembly 106 that failsto meet a pre-defined threshold, such as “high marginal” for example.Disclosure is not limited in this regard. For example, the display 700may indicate single ports, series of ports, single optical assemblies,single connectors, or an entire optical backplane with a singlecharacter. Also, the display 700 may indicate a quality level for eachof a plurality of optical assemblies as previously indicated. Oneskilled in the art will appreciate a wide variety of possibilitiesregarding characters, representations, sets of characters, or otherrepresentations according to an optical testing apparatus as disclosedherein, according to available display technology, or other, forexample.

FIG. 8 is an image illustrating one embodiment of a graphical display800 displaying connection qualities of optical assemblies 106 inaccordance with the present disclosure. The display 800 may indicate aset of optical assemblies that require attention graphically. Referringto FIG. 8, a portion of a horizontal row 802 may be represented by agraphical block containing diagonal lines for those optical assembliesthat only exceed a “very good” pre-determined threshold level. Also, aportion of a vertical column 808 may be represented by a graphical blockcontaining vertical bars for those optical assemblies that only exceed a“good” threshold. Additionally, individual optical assemblies that onlyexceed a “bad” threshold 804 may be represented via a filled in block.The display 800 is also not limited in this regard. Display may indicatevarious quality levels of optical assemblies via other patterns, colors,dynamic representations such as blinking, flashing, dimming, rotating,brightening, or other, for example, as one skilled in the art willappreciate.

FIG. 9 is an image illustrating one embodiment of a graphical display900 displaying a grid of connection states in accordance with thepresent disclosure. Referring to FIG. 9, instead of a display indicatingquality levels of optical assemblies, a display 900, may indicateconnection states for a set or array of connection blocks 304. Eachelement in the displayed array may represent a connection blockconnecting a plurality of optical assemblies. In this manner, aconnection state for optical assemblies 106 associated with oneconnector may be represented. Connection states may be determined basedat least in part, on the method 600 depicted in FIG. 6. For example, inthis embodiment, a group of connectors 902 may be indicated to containbad optical ports if there are multiple optical assemblies 106 that failto meet a predefined threshold, but that the failures do not indicateany specific pattern of failure. Another group of connectors 908 may beindicated to be dirty. Another group of connectors 910 may indicateconnector damage. Another group of connectors 912 may indicate nodedamage, or damage to the optical assembly as previously discussed.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. An apparatus comprising: a transmission modulethat transmits a first optical power level on a first optical port of anoptical assembly, the optical assembly comprising the first opticalport, one or more of an optical cable and an optical waveguide, and asecond optical port, the optical assembly installed in an assembledcomputer, the assembled computer in a state suitable for an end user; ameasurement module that measures a second optical power level at thesecond optical port; and a determination module that determines aquality level by determining if the second optical power level is belowa quality threshold value, the transmission module, the measurementmodule, and the determination module functioning within the assembledcomputer.
 2. The apparatus of claim 1, wherein the transmission moduletransmits on a plurality of optical assemblies, the measurement modulemeasures a plurality of second optical power levels on the plurality ofoptical assemblies, and the determination module determines a pluralityof quality levels by determining a quality level of each opticalassembly.
 3. The apparatus of claim 2, further comprising a connectionblock, wherein a plurality of optical assemblies terminates at one ormore connection blocks.
 4. The apparatus of claim 3, wherein, thedetermination module determines a connection state of a connection blockbased on a fail pattern of the plurality of quality levels of theoptical assemblies terminating at the connection block.
 5. The apparatusof claim 2, wherein the determination module determines the plurality ofquality levels based on one or more pre-determined threshold ranges,each pre-determined threshold range comprising a quality thresholdvalue.
 6. The apparatus of claim 2, further comprising a display modulethat displays the plurality of quality levels.
 7. The apparatus of claim6, wherein the display module displays the plurality of quality levelsin an array, respective quality levels being displayed in an element ofthe array.
 8. The apparatus of claim 7 wherein each element of the arraycomprises a quality level of a plurality of possible quality levels. 9.The apparatus of claim 6, wherein the display module displays theplurality of quality levels via a bitmap.
 10. The apparatus of claim 6,wherein the display module displays the plurality of quality levels fora plurality of connection blocks, each connection block comprising aplurality of optical assemblies terminating at the connection block. 11.The apparatus of claim 2, wherein the plurality of optical assemblescomprises an optical backplane.
 12. The apparatus of claim 11, whereinthe assembled computer comprises a plurality of optical backplanes. 13.The apparatus of claim 1, wherein the measurement module measures thesecond optical power level at the second optical port as an analogmeasurement.
 14. (canceled)
 15. (canceled)
 16. (canceled)
 17. (canceled)18. An apparatus comprising: a transmission module that transmits aplurality of first optical power levels on a first optical port of aplurality of optical assemblies, each optical assembly comprising thefirst optical port, one or more of an optical cable and an opticalwaveguide, and a second optical port, the optical assemblies terminatingat one or more connection blocks, the connection blocks comprising oneor more optical backplanes, the transmission module installed in anassembled computer, the assembled computer in a state suitable for anend user; a measurement module that measures a plurality of secondoptical power levels on the second optical ports of the plurality ofoptical assemblies; a determination module that determines a pluralityof quality levels based on the plurality of second optical power levelsby determining if each of the plurality of second optical power levelsfall below a pre-determined quality threshold range; and a displaymodule that displays a connection quality by displaying the plurality ofquality levels, the plurality of quality levels displayed in an array,the transmission module, the measurement module, the determinationmodule, and the display module functioning within the assembledcomputer.
 19. A system comprising: an optical assembly comprising afirst optical port, one or more of an optical cable and an opticalwaveguide, and a second optical port; an assembled computer comprisingthe optical assembly, the assembled computer in a state suitable for anend user; a transmission module that transmits a first optical powerlevel on the optical assembly; a measurement module that measures asecond optical power level on the optical assembly; and a determinationmodule that determines a quality level by determining if the secondoptical power level is below a quality threshold value, the opticalassembly, the transmission module, the measurement module, and thedetermination module functioning within the assembled computer.
 20. Theapparatus of claim 19, further comprising an electronic display, whereina display module displays the plurality of quality levels on theelectronic display.